#ifndef _H_MAPOBJECT
#define _H_MAPOBJECT

#include "types.h"
#include "map.h"

#define MOB_UNKNOWN 0
#define MOB_CHAR    1
#define MOB_ACTOR   2

class mapObject{

    protected:
        mapCtr* parentMap;

        unsigned char type;
        coord_t coordinates;

    public:
        mapObject();
        mapObject(mapObject*);
        virtual ~mapObject();

        void setParentMap(mapCtr*);
        mapCtr* getParentMap();

        void setType(unsigned char);
        unsigned char getType();

        void setCoord(unsigned int,unsigned int);
        void setCoord(coord_t);
        unsigned int getX();
        unsigned int getY();
        coord_t getCoord();
        virtual f_coord_t getFCoord();

        virtual bool move(direc_t,unsigned int);

};

#endif
